5.1 ペアプログラミング
AoAD2eではリモートワークについてupdateされた印象
p.79 「ペア作業のヒント」がまとめ的
パートナーの交代
会話
(ナビゲートに関する記載が多い)
5.1.5 課題
スキルのミスマッチ
ベテランと経験の浅い開発者
先生と生徒という立場になってはいけない (p.80)
2人のメンバーが一緒に学ぶ機会を作る (p.80)
コミュニケーションスタイル
1 人がテストを書く。もう 1 人がそのテスト をパスさせて、新しいテストを書く (p.81)
協力して問題解決するという態度
断定より質問や提案
5.1.6 質問
ペアプログラミングでは、1人がプログラミングをしているが、もう1人はその先を考えて、次に起こる問題を 予期し、それに対する作戦を練っている (p.81)
同じことを繰り返す作業、ペアになる必要はなさそう
どうしてそんなに繰り返し作業が必要な設計になってしまったのかを考えてみよう (p.82)
ナビゲータの空いた時間で考える
ナビゲータはドライバーの数歩先を行く
ベルシーは90分ごとに交代したときの興味深い結果を報告している (p.83)
キッチンタイマー利用
5.1.7 効能
チームは全体として、もっと高品質のコードを作り出す。技術的負債はどんどん減っていく。知識はチーム中をすばやく伝わる。これにより、全員の能力レベルは上がり、新しいチームメンバーがすばやく溶け込むのに役立つ。(p.84)
(ベルシーの論文で報告されている理想状態!)
5.1.9 代替案
イントロスペクションと比べて、「ペア作業は一貫してやるのが簡単」
ペアプログラミングは「注意散漫を減らす」
(感想:1人だと注意散漫になっていることがある)
5.1.10 参考文献